/**
 * @FilePath     : /src/lgmg_robots/agv_navigation/agv_navigate/include/agvNavigate/helpInc/action_state.h
 * @Description  : ActionStateList类用于管理和存储AGV的动作状态，包括订单ID和更新ID。
 *                 提供清除状态和设置ID的方法。 
 * @Author       : xiujun.yang
 * @Version      : 1.0.0
 * @LastEditors  : haibo haibo.yang@lgmgim.cn
 * @LastEditTime : 2024-12-19 16:41:00
 * @Copyright (c) 2024 by 临工智能信息科技有限公司, All Rights Reserved. 
**/
#pragma once 
#include "rclcpp/rclcpp.hpp"
#include "tools.h"
#include <agv_msgs/msg/action_state.hpp>
class ActionStateList {
public:
    ActionStateList() : order_id_(0), order_update_id_(0) {}

    void Clear() {
        states_.clear();
        order_id_ = 0;
        order_update_id_ = 0;
    }

    void SetId(long long id, int update_id) {
        order_id_ = id;
        order_update_id_ = update_id;
    }

    long long order_id_;
    int order_update_id_;
    std::vector<agv_msgs::msg::ActionState> states_;
};